﻿(function () {
    var _inited = false;
    var _handler = "Handlers/CompanyInfoHandler.ashx";

    function _init() {
        _initUI();
    }

    function _initUI() {
        $('table.tbcompanyctrl tbody').html('');
        $('table.tbcompanyctrl').data('data', null);
        $('table.tbcompanyctrl tbody tr').die().live('click', function () {
            $('table.tbcompanyctrl tbody tr').removeClass('active');
            $(this).addClass('active');
            $('table.tbcompanyctrl').data('data', $(this).data('data'));
        });
    }

    function _getData() {
        _initUI();
        $.ajax({
            type: "get",
            url: _handler + "?action=GetCompanyInfo" + "&ts=" + new Date().valueOf(),
            dataType: 'json',
            async: false,
            success: function (data, textStatus) {
                ProcessAjaxResult(data, textStatus,
                    function (data, textStatus) {
                        _bindData(data);
                    },
                    function (err, textStatus) {
                        alert('操作失败');
                    },
                    this);
            }
        });
    }

    function _bindData(data) {
        if (data) {
            for (var i = 0; i < data.length; i++) {
                var d = data[i];
                var tr = '<tr>';
                tr += '<td>';
                tr += d.DisplayID;
                tr += '</td>';
                tr += '<td>';
                tr += d.CompanyName;
                tr += '</td>';
                tr += '</tr>';
                $('table.tbcompanyctrl tbody').append($(tr).data('data', d));
            }
        }
    }

    function _getInfo() {
        return $('table.tbcompanyctrl').data('data');
    }

    function _setInfo(params) {
        if (params && params != null) {
            $('table.tbcompanyctrl tbody tr').removeClass('active');
            $('table.tbcompanyctrl tbody tr').each(function () {
                if (params.CompanyName == $(this).find("td:first").next().html()) {
                    $(this).addClass('active');
                    return false;
                }
            });
            $('table.tbcompanyctrl').data('data', params);
        }
        else {
            $('table.tbcompanyctrl').data('data', null);
        }
    }

    this.CompanyDialogMgr = {
        init:
        function () {
            if (!!_inited) return;
            _init();
            _inited = true;
        },
        GetData: function () {
            _getData();
        },
        GetInfo: function () {
            return _getInfo();
        },
        SetInfo: function (params) {
            _setInfo(params);
        }
    }
})();
$(function () {
    CompanyDialogMgr.init();
});